/*
scrollNews script by anegin (anegin@nm.ru)
*/
$(window).load(function(){
  var liWidth=$('.scrollList li').width();
  var scWidth=$('div.scrollList').width();
  var ulWidth=$('ul.scrollList').width();
  var scrolling=0;
  var changes_index=1;
  var news_count=$('#changes_count').val();
  var ll=0, rr=1;
  
  var lis=new Array(5);
  for (ii=0; ii<5; ii++) lis[ii]=ii+changes_index;
   
  // начальная анимация
  var k=Math.floor(scWidth/liWidth)+1;
  var scrollSpeed=1000;
  $('ul.scrollList').width(scWidth*5);
  for (ii=1; ii<=5; ii++) $('#li'+ii).width(scWidth);
  $('div.scrollList').css('left',scWidth).animate({left: '-='+scWidth}, scrollSpeed);
  for (ii=1; ii<=4; ii++) {
    $('#li'+ii).animate({width:'-='+(scWidth-liWidth)}, scrollSpeed, function() {
      $('ul.scrollList').width($('ul.scrollList').width()-(scWidth-liWidth));
    });
  }
  $('#li5').animate({width:'-='+(scWidth-liWidth)}, scrollSpeed, function() {
    // конец начальной анимации
    $('ul.scrollList').width($('ul.scrollList').width()-(scWidth-liWidth));
    //$('div.scrollList').scrollLeft(liWidth);
  });

  // нажали влево
  $('.scrollLeft').click(function() {
    rr=1;
    $('.scrollRight2').css('background','url(/img/news_forward.png) 0px 0px no-repeat').css('cursor','default');
    if (scrolling==0) {
      // если окно не в начале ленты, то просто сдвигаем окно до ближайшей левой границы
      if ($('div.scrollList').scrollLeft()>0) {          
        scrolling=1;
        var currX=$('div.scrollList').scrollLeft();
        var nearLeft=Math.floor(currX/liWidth)*liWidth;
        if (nearLeft==currX) nearLeft=nearLeft-liWidth;
        if (nearLeft<0) nearLeft=0;
        $('div.scrollList').stop().scrollTo('-='+(currX-nearLeft), {
          duration:200,
          onAfter:function() {
            if (currX-nearLeft==liWidth) changes_index--;
            scrolling=0;
            if (changes_index==1) {
              ll=0;
              $('.scrollLeft').css('background','url(/img/news_back0.png) 0px 0px no-repeat').css('cursor','default');
            }
          }
        });
      } else {    // если окно впритык слева, то подгружаем
        if (changes_index>1) {
          scrolling=1;
          $('div.scrollList').scrollLeft(liWidth);
          for (ii=5; ii>1; ii--) {
            $('#li'+ii).html($('#li'+(ii-1)).html());
            lis[ii-1]=lis[ii-2];
          }                   
          lis[0]=changes_index-1;
          $('#li1').html('<div style="width: 283px; margin: 0; padding: 54px 0 0 0"><center><img src="/img/news_loading.gif"></center></div>');
          $.post('/getchanges.php', { n:changes_index-1 },
              function(data) {
                var mc=data.substring(0,data.indexOf('#'));
                var nn=0;
                for (ii=0; ii<5; ii++) {
                  if (lis[ii]==mc) nn=ii+1;
                }
                if (nn>0 && nn<=5) $('#li'+nn).html(data.substring(data.indexOf('#')+1));
              }
          );
          $('div.scrollList').stop().scrollTo('-='+liWidth, {
            duration:200,
            onAfter:function() {
              changes_index--;
              scrolling=0;
              if (changes_index==1) {
                ll=0;
                $('.scrollLeft').css('background','url(/img/news_back0.png) 0px 0px no-repeat').css('cursor','default');
              }
            }
          });
        }
      }           
    }
      
  });  

  // нажали вправо
  $('.scrollRight2').click(function() {
    ll=1;
    $('.scrollLeft').css('background','url(/img/news_back.png) 0px 0px no-repeat').css('cursor','default');
    var cntvis=Math.floor($('div.scrollList').width()/liWidth)+1;
    if ($('div.scrollList').width()%liWidth==0) cntvis--;
    if (scrolling==0) {
      // если окно еще можно сдвинуть вправо
      if ($('div.scrollList').scrollLeft()+liWidth<=$('ul.scrollList').width()-$('div.scrollList').width()) {
        scrolling=1;
        $('div.scrollList').stop().scrollTo('+='+liWidth, {
          duration:200,
          onAfter:function() {
            changes_index++;
            scrolling=0;
            if ($('div.scrollList').scrollLeft()==$('ul.scrollList').width()-$('div.scrollList').width() && changes_index+cnt_vis>news_count) {
              rr=0;
              $('.scrollRight2').css('background','url(/img/news_forward0.png) 0px 0px no-repeat').css('cursor','default');
            }
          }  
        });
      } else {
        if (changes_index+cntvis>news_count) {   // если новостей дальше нет, то сдвигаем до конца
          scrolling=1;
          $('div.scrollList').stop().scrollTo('+='+liWidth, {
            duration:200,
            onAfter:function() {
              scrolling=0;
              rr=0;
              $('.scrollRight2').css('background','url(/img/news_forward0.png) 0px 0px no-repeat').css('cursor','default');
            }
          });
        } else {                              // если есть еще новости, то подгружаем
          $('div.scrollList').scrollLeft($('div.scrollList').scrollLeft()-liWidth);
          for (ii=1; ii<5; ii++) {
            $('#li'+ii).html($('#li'+(ii+1)).html());
            lis[ii-1]=lis[ii];
          }
          lis[4]=changes_index+cntvis;
          $('#li5').html('<div style="width: 283px; margin: 0; padding: 54px 0 0 0"><center><img src="/img/news_loading.gif"></center></div>');
          $.post('/getchanges.php', { n:changes_index+cntvis },
              function(data) {
                var mc=data.substring(0,data.indexOf('#'));
                var nn=0;
                for (ii=0; ii<5; ii++) {
                  if (lis[ii]==mc) nn=ii+1;
                }
                if (nn>0 && nn<=5) $('#li'+nn).html(data.substring(data.indexOf('#')+1));
              }
          );
          scrolling=1;
          $('div.scrollList').stop().scrollTo('+='+liWidth, {
            duration:200,
            onAfter:function() {
              changes_index++;
              scrolling=0;
              if ($('div.scrollList').scrollLeft()==$('ul.scrollList').width()-$('div.scrollList').width() && changes_index+cnt_vis>news_count) {
                rr=0;
                $('.scrollRight2').css('background','url(/img/news_forward0.png) 0px 0px no-repeat').css('cursor','default');
              }
            }
          });
        }
      }
    }  
  });  

  $('.scrollLeft').mouseenter( function() {
    if (ll==1) $(this).css('background','url(/img/news_back2.png) 0px 0px no-repeat').css('cursor','pointer');
  });

  $('.scrollLeft').mouseleave( function() {
    if (ll==1) $(this).css('background','url(/img/news_back.png) 0px 0px no-repeat').css('cursor','default');
  });

  $('.scrollRight2').mouseenter( function() {
    if (rr==1) $(this).css('background','url(/img/news_forward2.png) 0px 0px no-repeat').css('cursor','pointer');
  });

  $('.scrollRight2').mouseleave( function() {
    if (rr==1) $(this).css('background','url(/img/news_forward.png) 0px 0px no-repeat').css('cursor','default');
  });

//  прокрутка мышью           
//  var dragged=0, oldx=0;  
//  $('div.scrollList').mousedown(function(e) { dragged=1; oldx=e.pageX; });
//  $('div.scrollList').mouseup(function() { dragged=0; });
//  $('div.scrollList').mouseleave(function() { dragged=0; });
//  $('div.scrollList').mousemove(function(e) {  
//    if (dragged==1) {
//      if (e.pageX>oldx) $('div.scrollList').scrollTo('-='+(e.pageX-oldx),0)
//        else $('div.scrollList').scrollTo('+='+(oldx-e.pageX),0);
//      oldx=e.pageX;     
//    }
//  });      
                 
  // загружаем погоду
  $.post('/weather.php', function(data) {
    $('#weather').html(data);
  });

  // загружаем отправления автобусов
  load_rasp();

  
  //$('#hot_info_scroller').animate({left:-380},10000,'linear', function() { $('#hot_info_scroller').animate({left:0},0); } );
  scroll_hot_info();
  
});
//------------------------------------------------------
function scroll_hot_info() {
  $('#hot_info_scroller').animate({left:-380},30000,'linear', function() {
    $('#hot_info_scroller').animate({left:0},0);
    scroll_hot_info();
  } );
}